package com.hznc.wcs.excel.model;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.lang.Double;
import java.math.BigDecimal;
import java.util.List;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import com.diboot.core.util.D;
import com.diboot.core.util.V;
import com.diboot.file.excel.BaseExcelModel;
import com.diboot.file.excel.annotation.ExcelBindDict;
import com.diboot.file.excel.annotation.ExcelBindField;
import com.diboot.file.excel.annotation.ExcelOption;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.diboot.iam.entity.IamOrg;
import com.diboot.iam.entity.IamPosition;
import com.diboot.iam.entity.IamRole;
import com.diboot.iam.entity.IamUser;

import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Length;
import jakarta.validation.constraints.NotNull;
import com.hznc.wcs.entity.wcs.Mission;

/**
* 任务管理 导入model定义
*
* @author MyName
* @version 1.0
* @date 2024-11-28
 * Copyright © MyCorp
*/
@Getter
@Setter
@ExcelIgnoreUnannotated
@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 1)
public class MissionImportModel extends BaseExcelModel {
    /**
    * 订单编号
    */
    @Length(max=100, message="订单编号长度应小于100")
    @ExcelProperty(value = "订单编号")
    private String orderCode;
    /**
    * 操作类型
    */
    @ExcelOption(dict = "operateType")
    @ExcelBindDict(type = "operateType")
    @ExcelProperty(value = "操作类型")
    private String operateType;
    /**
    * 日期
    */
    @DateTimeFormat(D.FORMAT_DATE_Y4MD)
    @JsonFormat(pattern = D.FORMAT_DATE_Y4MD)
    @ExcelProperty(value = "日期")
    private LocalDate missionDate;
    /**
    * 操作时间
    */
    @ExcelProperty(value = "操作时间")
    private String missionTime;
    /**
    * 状态
    */
    @ExcelOption(dict = "status")
    @ExcelBindDict(type = "status")
    @ExcelProperty(value = "状态")
    private String status;
    /**
    * 优先级
    */
    @Length(max=100, message="优先级长度应小于100")
    @ExcelProperty(value = "优先级")
    private String priority;
    /**
    * 原仓位
    */
    @Length(max=100, message="原仓位长度应小于100")
    @ExcelProperty(value = "原仓位")
    private String sourceWare;
    /**
    * 目标仓位
    */
    @Length(max=100, message="目标仓位长度应小于100")
    @ExcelProperty(value = "目标仓位")
    private String targetWare;
    /**
    * 物料类型
    */
    @Length(max=100, message="物料类型长度应小于100")
    @ExcelProperty(value = "物料类型")
    private String mrlType;

}